This invention relates to the field or robotics. More specifically, the invention relates to controlling robotic mechanisms with both active and passive joints.
Robotic mechanisms comprising only active joints are used widely in a number of application domains and the control of such mechanism is well understood. We will refer to such mechanisms as active mechanisms. Active mechanisms are particularly well suited for situations where the working volume of the mechanism is free of obstacles and environmental constraints oil the motion of the mechanism. This is typically the case for applications of active robot mechanisms, to manufacturing tasks, where the robot work-cell is specifically designed to suit the requirements of the robot mechanism. There are situations, however, where access to the working volume of a robotic mechanism can not be made unimpeded. In such situations access to the working volume is restricted by environmental constraints, such as small openings, tight passages and obstacles. With active mechanisms these constraints must be accommodated with time-consuming off-line programming to allow the mechanism to accomplish a given task without undesired contact with the environment. The success of task execution depends on the accuracy with which the programmer has captured the geometry of the environmental constraints and the accuracy with which complex coordinated motions of multiple joints of the robot mechanism are carried out. This approach is inflexible and error-prone, often leading to unintended or overly forceful interaction between the robot mechanism and the environment, potentially damaging the environment, the mechanism itself, or both.
An alternative approach to controlling robotic mechanisms in the presence of environmental constraints is to use robot mechanisms which include one or more passive joints. We will refer to such robot mechanisms as hybrid mechanisms. By ensuring that each link or a hybrid mechanism, which is constrained by an environmental constraint, is attached to one or more passive joint at the proximal end of the constrained link, such a hybrid mechanism can comply freely with the environmental constraints acting on the mechanism. (Throughout this document we will use the terms xe2x80x98proximalxe2x80x99 and xe2x80x98distalxe2x80x99 to mean xe2x80x98closer toxe2x80x99 and xe2x80x98further fromxe2x80x99 the base of the robot, respectively. The base of the robot refers to the point where the robot is rigidly attached to the environment.) This arrangement ensures that neither the environment nor the mechanism itself will be damaged during task execution, which makes hybrid mechanisms the preferred solution for applications where access to the workspace is restricted and avoiding incidental damage to the environment is critical. However the use of passive joints significantly complicates control of the mechanism and so hybrid mechanisms are rarely used in practice. The difficulties in controlling hybrid mechanisms arise because the environmental constraints on the motion of the constrained elements and attached passive joints must be characterized and used to accurately predict the motion of the mechanism in response to a given displacement of active joints. Further, the control is complicated by the fact that the location where a given environmental constraint is acting on the mechanism may change as the mechanism moves. This requires that the control method be able to update the characterization of the environmental constraints on the motion of the mechanism at run-time.
We will define a mechanism to comprise a serial chain of two or more rigid links, connected by one or more joints. Each of the joints can be either active or passive. An active joint is equipped with an actuator (motor), which is capable of moving the joint, and an encoding device (encoder), which provides information about the position of the joint at any time. A mechanism consisting of only. active joints will be referred to as an active mechanism. A mechanism comprising both active and passive joints will be referred to as a hybrid mechanism. An element of the mechanism will refer to either a joint or a link of the mechanism. The element whose motion relative to the workspace is being controlled will be referred to as the target element. Normally the target element will correspond to a tool or an instrument attached to the distal end of the mechanism, but could be, in general, any element of the mechanism. We will use the term sub-mechanism to mean a subset of a larger mechanism, the sub-mechanism comprising at least one element of the larger mechanism. We will define the pose of an element to be the position and orientation of the element, expressed with respect to a given (e.g., Cartesian) coordinate frame. We will distinguish between a desired pose of an element and an actual pose of an element. The desired pose of an element is the pose that the element is expected to attain as a result of the control action of a control method. The desired pose of the target element is input to the control method. The actual pose of an element is the element""s current pose with respect to a given Cartesian coordinate system. We will define a pose difference between pose A and pose B of an element to be a function of the two poses. Normally, the result of evaluating the pose difference function will be the Euclidean distance between the positional parts of the two poses and a unit vector and angle corresponding to the finite rotation separating the orientational components of the two poses. However, other functions can be defined to represent the pose difference between two given poses of an element.
FIGS. 1 and 2 introduce the notational conventions used throughout this document and provide a brief overview of tile state of the art in control of active mechanisms. FIG. 1a shows a simple mechanism consisting of 4 links (101, 104, 107, 110), three mechanical joints (102, 105, 108), and three actuators corresponding to the three mechanical joints (103, 106, 109, respectively). Each of the actuators comprises a motor (111), which delivers mechanical force or torque to move the joint, and a means of determining the angular or linear position of the joint (112), which enables closed-loop control of each of the joints. FIGS. 1b, 1c, 1d, and 1e detail the notational conventions for the four types of mechanical joints that will be used in this document. FIG. 1b shows a translational joint (121) and the corresponding symbolic representation (122) used in subsequent figures. FIG. 1c shows a rotary twist joint (141) and the corresponding symbolic representation (142). FIG. 1d shows an out-of-plane revolute joint (161) and the corresponding symbolic representation (162). Finally, FIG. 1e shows an in-plane revolute joint (181) and the corresponding symbolic representation (182).
FIG. 2 shows a flow diagram of a typical control method for Cartesian control of a target element of a robotic mechanism comprising only active joints. The method 200 begins by determining the positions of all joints of the mechanism (205). The position of a translational joint is expressed as a linear distance and the position of a rotary joint is expressed as an angular displacement. Standard mathematical techniques (known in tile art as forward kinematic) are then used to compute the actual (current) pose or the target element (210). The actual pose of the target element is compared with the desired pose of the target element (215) and the control method is terminated (220) if the difference between the two poses is less than some predetermined amount, where the amount can be a vector quantity. The pose difference consists of a positional and an orientational component. If the pose difference is larger than the predetermined amount, the method continues by characterizing the effect of moving each of the joints on the resulting Cartesian displacement of the target clement (225). This step is accomplished by analyzing the effect of moving each individual joint of the mechanism on the Cartesian displacement of the target element. For each joint j this mapping will be, in general, a nonlinear function of the joint positions of all joints appearing in the serial chain of the mechanism between tile joint j and the target element. The combined nonlinear mapping, which includes the individual mapping for each of the joints, is referred to in the art as the Jacobian mapping. In general, the Jacobian mapping relates infinitesimal displacements of each of the joints of a mechanism to the resulting Cartesian displacement of an element of the mechanism. The Jacobian mapping is a nonlinear function of the joint positions of all joints of the mechanism and therefore takes on different numerical values for different configurations (joint position values) of the mechanism.
Referring again to FIG. 2, in step (230) of method 200 the desired motion of the target element is next characterized and expressed as a six-vector or positional and orientational change relative to the actual (current) pose of the mechanism. The incremental motion for each joint is then computed, such that the difference between the resulting actual pose of the target element and the desired pose of the target element is minimized (235). For most industrial and service robot mechanisms this step normally involves a straightforward evaluation of known equations, known in the art as inverse kinematic equations. For more complicated mechanisms, which do not admit closed-form inverse kinematic equations (such as robot mechanisms comprising more than six joints) this step may involve a nonlinear optimization. A number of techniques for carrying out nonlinear optimization computations are known in the art. A given iteration of the control method ends by moving each of the joints of the mechanism (240) by the incremental motions computed in step (235) above. The method then resumes at step (205) and continues until the pose difference in step (215) becomes less than the predetermined amount and the method terminates.
Very few examples of controlling hybrid passive/active mechanisms have been reported in the published literature. The prior art includes two examples of hybrid passive/active mechanisms which are being controlled in the presence of a single environmental constraint. Both examples arise in the context of laparoscopic surgery, where the constrained element is a laparoscope and the environmental constraint is the port of entry of the laparoscope into the patient. Due to the environmental constraint imposed by the port of entry into the patient, the motion of the laparoscope is limited to four degrees of freedom (d.o.f.) of motion: three orthogonal rotations about the port or entry and one translational d.o.f. along the long axis of the instrument.
Hurteau ct. al. describe a robotic system for laparoscopic surgery where a robotic arm is connected to a laparoscope via a two-axis passive universal joint at the wrist of the robot. They use a manual teach pendant to independently control the translational motion of the robot""s wrist, relying on the compliant passive linkage to position the laparoscope tip in azimuth, elevation and insertion depth. Each of the translational d.o.f. of the robot wrist is controlled manually by adjusting the corresponding knob or dial on the teach pendant.
Wang et. al. also use a robotic arm and a passive universal joint to position a laparoscope inside the patient, subject to the constraint imposed by tile port of entry of the laparoscope into the patient. They add a driven instrument rotation stage to allow control of azimuth, elevation, rotation and insertion depth of the laparoscope. The details of their control method have not been made public, but several limitations or the method are apparent from the observed behavior of the system (as discussed later).
A less directly related reference on tile subject of control of hybrid passive/active mechanisms has been disclosed by Jain et. al. in U.S. Pat. No. 5,377,310. In this work a robot manipulator comprising both active and passive joints is being controlled by estimating passive joint friction forces on passive joints and using these estimates to predict the dynamic behavior of the passive-joints during high-speed motion of the manipulator due to the motion of the active joints. Dynamic parameters of all links and all actuators comprising the mechanism are assumed known.
Hurteau et. al. present a very simple, manual control strategy for controlling the motion of a target element (laparoscope) attached to the end of a hybrid mechanism, (industrial robot with an attached passive universal joint). The control method is specifically tailored to the task at hand and a control panel with three knobs is used to manually control each of the three d.o.f. of motion of the constrained element (Japaroscope). Further, this strategy does not allow simultaneous coordinated control of all three d.o.f. of the constrained element and is only applicable to a single environmental constraint of the specific type presented by tile port of entry of the laparoscope into the patient. Finally, the control strategy does not allow specification of additional constraints on the motion of the mechanism as dictated by the mechanism itself or the nature of the task.
The control strategy of Wang et. al. has not been disclosed. It appears that their strategy is also specifically tailored to the. case of a single constraint of a specific type imposed by a laparoscope passing through an artificial orifice into the patient. They have disclosed no control method applicable to hybrid mechanisms comprising multiple sets of passive joints or to multiple environmental constraints, nor have they exhibited such a system demonstrating controlled behavior. Further, they have disclosed no method for specifying additional motion constraints to guarantee achievement of additional task goals or constraints. Finally, they have not demonstrated a systein having the ability to trade off multiple task goals and constraints.
While the details of the control strategy employed by Wang et. al. are not known, it appears that their strategy is also specifically tailored to the case of a single constraint of the specific type imposed by a laparoscope passing through an artificial orifice into tile patient. The methods therefore does not appear to be applicable to hybrid mechanisms comprising multiple sets of passive joints or multiple environmental constraints. It also does not seem to have any facility for specifying additional constraints dictated by the nature of tile task.
Jain""s approach to controlling hybrid mechanism is quite different from the above approaches. Jain et. al. do not consider environmental constraints on the motion of the passive joints, but are instead concerned with controlling highspeed dynamic behavior of a hybrid mechanism. This control strategy is applicable only to situations when the robot mechanism is moving with substantial velocity; no static or low-speed control is possible with this approach.
None of the control methods reported in the prior art represent a general control framework for effectively and accurately controlling robotic mechanisms comprising both active and passive joints in the presence of environmental constraints. Specifically, these control methods do not effectively control mechanisms with multiple sets of passive joints (separated by one or more active joints) and where multiple environmental and task constraints are acting on the mechanism.
An object of this invention is an improved method for controlling robotic mechanisms with active and passive joints.
An object of this invention is an improved method for controlling robotic mechanisms with active and passive joints in the presence of constraints imposed by the environment or the nature of the task.
An object of this invention is an improved method for controlling robotic mechanisms with active and passive joints in the presence of constraints imposed by the environment or the nature of the task for use in robotic surgery.
The present invention is a method of controlling a robotic mechanism comprising both active and passive joints, where the motion or one or more of the passive joints is constrained by one or more environmental constraints imposed on the mechanism by the environment. The invention has applications in a variety of situations where robot mechanisms must be controlled in the presence of a restricted access to the working volume, but is particularly useful for control of robotic mechanisms comprising multiple sets of passive joints with multiple environmental constraints restricting the motion of the mechanism.
The method begins by determining the positions of one or more joints or the mechanism and using this information to determine the actual pose of a target element of the mechanism. A pose difference is found between the actual pose and a desired pose of the target element. On the first iteration of the method, a novel characterization of one or more environmental constraints on the motion of one or more of the passive joints of the mechanism is performed. This information, together with a characterization of any existing environmental constraints on the motion of active joints, and a characterization of the effects of the motion of each of the mechanism""s active and passive joints on the motion of the target element, is used to determine an incremental motion of the active joints of the mechanism. The active joints are then moved through the determined incremental displacements, respectively, resulting in an incremental motion of the target element such that the pose difference between the desired and actual pose of the target element is minimized.
One novel feature of the present invention is the characterization of the effects of the existing environmental constraints on the motion of the passive joints of the mechanism and, indirectly, the motion of the target element. This characterization allows the novel method to determine an incremental active joint motion which will minimize the pose difference between the desired and actual pose of the target element while complying with the existing environmental constraints on the mechanism.
In another preferred embodiment, the novel control method allows specification of additional constraints on the motion of any part of the mechanism, where the additional constraints are dictated by the mechanical construction of the mechanism or the particular nature of the task.
In still another preferred embodiment, the novel control method is used to control the motions of a surgical robot during laparoscopy. In this embodiment, the surgical robot holds a laparoscope which is inserted into the abdominal cavity of a patient. The port of entry of the laparoscope into the patient constitutes an environmental constraint on the motion of the laparoscope, which is attached to the robot mechanism via a passive universal joint. The novel method described in the present invention is used to control the robot mechanism so as to allow the surgeon to position the laparoscope into any reachabic configuration within the workspace of the mechanism.